跳到主要内容

expo项目android打包,用拆分 ABI方法控制大小

aab和apk

  • aab 适用于Google Play等海外市场。 本身尺寸较小。 不适合国内安卓(鸿蒙)市场。

  • apk 默认的打包尺寸较大。 ReactNative建议直接修改原生代码配置,拆分ABI(Application Binary Interface)。 Expo似乎无法通过配置文件实现,最终还需要回到RN的传统方法。

apk打包配置拆分ABI

AI咨询

确认不支持仅通过配置实现拆分。原因是:

[ChatGPT] 在托管的 Expo 工作流中,直接修改 Gradle 配置是不被支持的。

传统方法

android目录下,找到app/build.gradle文件,修改:


android {
// 其他配置...

splits {
abi {
enable true
reset()
include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
universalApk false
}
}
}

原来的配置(RN):

def enableSeparateBuildPerCPUArchitecture = true // suhe

def reactNativeArchitectures() {
def value = project.getProperties().get("reactNativeArchitectures")
return value ? value.split(",") : ["arm64-v8a"]
}